<?php
namespace Admin\Controller;
// use Think\Controller;
use Admin\Controller\PublicController;
class UserController extends PublicController {
    public function index(){
        // $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>！</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
        
        $this->show('小明好帅。');
    }

    // 用户登录页面
    public function login(){
    	// if(!empty($_POST)){
    	// 	print_r($_POST);
    	// 	die();
    	// }

    	$this->display();		// 模板渲染
    }

    // 用户登录的方法
    public function postLogin(){
    	$post = json_decode($_POST['post'], 1);
    	// var_dump($post);
    	// var_dump($post['username']);
    	// $username = 'alex';
    	// $password = '123123';
    	
    	// 创建数据表操作对象
    	$User = M('user');

    	// 查询用户
    	$user = $User
                ->field('id, username')
                ->where('phone_number = "'.$post['phone_number'].'" and password = "'.md5($post['password']).'"')
                ->find();
    	// var_dump($user);exit;

    	// if($post['username'] == $username && $post['password'] == $password){
    	if($user){
    		// $this->show('欢迎光临') ;
            // 用户登录成功，把用户数据保存到SESSION中。作为用户登录完成的凭证。
            // $_SESSION['user'] = $user;
            session('user', $user);

    		// 当用户成功登录，返回JSON数据
    		$data = [];
    		$data['msg'] = '欢迎光临';
    		$data['status'] = 1;
    		$data['url'] = U('admin/index/index');
    		echo json_encode($data);
    	}else{
    		// $this->show('用户名或密码错误');
    		echo json_encode(['msg'=>'用户名或密码错误', 'status'=>0 ]);
    	}
    }


    // 用户注册
    public function reg(){
        if(!empty($_POST)){
            // var_dump($_POST);exit;
            // 实例化数据表操作对象
            $User = M('user');
            // 查找有没有重复的手机号
            $res = $User->where(['phone_number'=>$_POST['phone_number']])->find();
            if(!empty($res)){
                $this->error('对不起，你输入的手机号已经被使用了。请使用别的手机号码进行注册');
                exit;
            }

            // 查找有没有重复的用户名

            // 查找有没有重复的邮箱地址

            // 把用户数据插入到数据库
            // 1.1 把数据进行整理
            unset($_POST['r_password']);
            $_POST['password'] = md5($_POST['password']);

            // 1.2 把数据插入数据库
            $result = $User->data($_POST)->add();

            // var_dump($result);exit;
            if(!empty($result)){
                $this->success('恭喜您，注册成功。现在为了跳转到登录页面。请登录后再进行操作。', U('User/login'), 5);exit;
            }else{
                $this->error('注册失败');
            }
        }
        $this->display();
    }


    // 用户信息修改
    public function update() {
        // var_dump($this->username);exit;
        $User = M('user');
        if(!empty($_POST)){
            $result = $User->where(['id' => $this->user_id])->save($_POST);

            if(!empty($result)){
                // 更新可能的用户名
                $_SESSION['user']['username'] = $_POST['username'];
                $this->username = $_POST['username'];
                // $this->success('保存成功！', U('Index/index'));exit;
                $this->show('保存成功！');exit;
            }else{
                // $this->error('保存失败');exit;
                $this->show('保存失败');exit;
            }

        }
        // 通过用户id查询用户的信息
        
        $user = $User
                ->field('id, username, phone_number, email')
                ->where(['id' => $this->user_id])
                ->find();

        // var_dump($user);exit;

        // 把数据传入模板
        $this->assign('user', $user);

        // 渲染模板
        $this->display();
    }

    // 用户登出
    public function logOut(){
        // 删除用户的登录凭证
        session('user', null);

        $this->success('你已经成功退出。欢迎下次再来哟！！我会想你的，么么哒。', U('User/login'), 5);exit; 
    }
}